package com.bjsxt.Lambda;

public class Test2 {
    public static void main(String[] args) {
        /**
         * 静态方法绑定到接口
         * dobleNum函数要满足
         * 1，参数个数及类型需要与函数接口中的抽象方法一致
         * 2，返回值类型要与函数接口中的抽象方法的返回值类型一致
         */
        ReturnOneParam returnOneParam =a -> doubleNum(a);
        System.out.println(returnOneParam.method(29));

        ReturnOneParam returnOneParam2 = Test::doubleNum2;
        System.out.println(returnOneParam2.method(28));


        /**
         * 普通方法绑定到接口
         */
        Test2 test2 = new Test2();
        ReturnOneParam returnOneParam3 = test2::doubleNum3;
        System.out.println(returnOneParam3.method(27));

    }
    public static int doubleNum(int a){
        return 2*a;
    }
    public int doubleNum3(int a){
        return 2*a;
    }
}
